/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

@import url("chrome://global/skin/inContentUI.css");


/*** global warnings ***/

.global-warning-container {
  overflow-x: hidden;
}

.global-warning {
  -moz-box-align: center;
  padding: 0 8px;
  font-weight: bold;
}

.global-warning-text {
  color: -moz-FieldText;
}

#addons-page[warning] .global-warning-container {
  background-color: rgba(255, 255, 0, 0.1);
  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png");
  background-repeat: repeat-x;
}

#detail-view .global-warning {
  padding: 4px 12px;
  border-bottom: 1px solid ThreeDShadow;
  min-height: 41px;
}

@media (max-width: 600px) {
  .global-warning-text {
    display: none;
  }
}

/* Plugins aren't yet disabled by safemode (bug 342333),
   so don't show that warning when viewing plugins. */
#addons-page[warning="safemode"] .view-pane[type="plugin"] .global-warning-container,
#addons-page[warning="safemode"] #detail-view[loading="true"] .global-warning-container {
  background-color: inherit;
  background-image: none;
}


/*** notification icons ***/

.warning-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu");
  width: 16px;
  height: 16px;
  margin: 3px 0;
}

.error-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu");
  width: 16px;
  height: 16px;
  margin: 3px 0;
}

.pending-icon,
.info-icon {
  list-style-image: url("moz-icon://stock/gtk-dialog-info?size=menu");
  width: 16px;
  height: 16px;
  margin: 3px 0;
}

/*** view alert boxes ***/

.alert-container {
  -moz-box-align: center;
}

.alert-spacer-before {
  -moz-box-flex: 1;
}

.alert-spacer-after {
  -moz-box-flex: 3;
}

.alert {
  -moz-box-align: center;
  padding: 10px;
  font-size: 12px;
  border: 1px solid ThreeDShadow;
  border-radius: 8px;
  color: WindowText;
  background-color: Window;
  background-clip: padding-box;
}

.alert .alert-title {
  font-weight: bold;
  font-size: 200%;
  margin-bottom: 15px;
}

.alert button {
  margin: 1em 2em;
}

.loading {
  list-style-image: url("chrome://global/skin/icons/loading_16.png");
  padding-left: 20px;
  padding-right: 20px;
}

/*** category selector ***/

#categories {
  -moz-appearance: none;
  border: none;
  -moz-margin-end: -1px;
  background-color: transparent;
  position: relative;
  margin-top: 41px;
}

.category {
  -moz-appearance: none;
  border-width: 1px;
  -moz-border-end-width: 0;
  border-style: solid;
  border-color: transparent;
  padding: 10px 4px;
  -moz-box-align: center;
  overflow: hidden;
  min-height: 0;
  color: WindowText;
}

.category:-moz-locale-dir(ltr) {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.category:-moz-locale-dir(rtl) {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

.category[disabled] {
  border-top: 0;
  border-bottom: 0;
  height: 0;
  opacity: 0;
  transition-property: height, opacity;
  transition-duration: 1s, 0.8s;
}

.category:not([disabled]) {
  height: 52px;
  transition-property: height, opacity;
  transition-duration: 1s, 0.8s;
}

.category[selected] {
  background-color: -moz-Field;
  color: -moz-FieldText;
  border-color: ThreeDShadow;
}

.category-name {
  font-size: 150%;
}

/* Maximize the size of the viewport when the window is small */
@media (max-width: 800px) {
  .category-name {
    display: none;
  }
}

.category-badge {
  background-color: Highlight;
  padding: 2px 8px;
  margin: 6px 0;
  border-radius: 10000px;
  color: HighlightText;
  font-weight: bold;
  text-align: center;
}

.category-badge[value="0"] {
  visibility: hidden;
}

.category-icon {
  width: 32px;
  height: 32px;
  -moz-margin-start: 6px;
}

#category-search > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-search.png");
}
#category-discover > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-discover.png");
}
#category-locale > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-languages.png");
}
#category-searchengine > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-searchengines.png");
}
#category-extension > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-extensions.png");
}
#category-service > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-service.png");
}
#category-theme > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-themes.png");
}
#category-plugin > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-plugins.png");
}
#category-dictionary > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-dictionaries.png");
}
#category-experiment > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-experiments.png");
}
#category-availableUpdates > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-available.png");
}
#category-recentUpdates > .category-icon {
  list-style-image: url("chrome://mozapps/skin/extensions/category-recent.png");
}


/*** header ***/

#header {
  margin-bottom: 18px;
}

.nav-button {
  min-width: 0;
}

#back-btn:-moz-locale-dir(ltr) {
  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar");
}

#forward-btn:-moz-locale-dir(ltr) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar");
}

#back-btn:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar");
}

#forward-btn:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar");
}

#back-btn[disabled="true"]:-moz-locale-dir(ltr) {
  list-style-image: url("moz-icon://stock/gtk-go-back-ltr?size=toolbar&state=disabled");
}

#forward-btn[disabled="true"]:-moz-locale-dir(ltr) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-ltr?size=toolbar&state=disabled");
}

#back-btn[disabled="true"]:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-back-rtl?size=toolbar&state=disabled");
}

#forward-btn[disabled="true"]:-moz-locale-dir(rtl) {
  list-style-image: url("moz-icon://stock/gtk-go-forward-rtl?size=toolbar&state=disabled");
}

#header-utils-btn {
  min-width: 4.5em;
}

#header-utils-btn .toolbarbutton-icon {
  list-style-image: url("moz-icon://stock/gtk-preferences?size=toolbar");
}

#header-utils-btn:-moz-focusring > .button-box {
  border: none;
}

#header-search {
  margin: 0;
}

@media (max-width: 600px) {
  #header-search {
    width: 12em;
  }
}

.view-header {
  padding: 4px;
  margin: 0;
  min-height: 41px;
  background-color: ThreeDHighlight;
  border-bottom: 1px solid ThreeDShadow;
}


/*** sorters ***/

.sort-controls {
  -moz-appearance: none;
}

.sorter[checkState="1"] .button-icon {
  display: -moz-box;
  list-style-image: url("moz-icon://stock/gtk-sort-descending?size=16");
}

.sorter[checkState="2"] .button-icon {
  display: -moz-box;
  list-style-image: url("moz-icon://stock/gtk-sort-ascending?size=16");
}


/*** discover view ***/

.discover-spacer-before,
.discover-spacer-after {
  -moz-box-flex: 1;
}

#discover-error .alert {
  max-width: 45em;
  -moz-box-flex: 1;
}

.discover-logo {
  list-style-image: url("chrome://mozapps/skin/extensions/discover-logo.png");
  -moz-margin-end: 15px;
}

.discover-title {
  font-weight: bold;
  font-size: 24px;
  font-family: MetaWebPro-Book, "Trebuchet MS", sans-serif;
  margin: 0 0 15px 0;
}

.discover-description {
  text-align: justify;
  margin: 0 0 15px 0;
}

.discover-footer {
  text-align: justify;
}


/*** list ***/

.list {
  -moz-appearance: none;
  margin: 0;
  border: none;
  background-color: transparent;
}

.addon {
  border-bottom: 1px solid ThreeDLightShadow;
  padding: 5px;
}

.addon[selected] .text-link,
.addon[selected] .button-link {
  color: inherit;
}

.details {
  cursor: pointer;
  margin: 0;
  -moz-margin-start: 10px;
}

.icon-container {
  width: 48px;
  height: 48px;
  margin: 3px 7px;
  -moz-box-align: center;
  -moz-box-pack: center;
}

.icon {
  list-style-image: url("chrome://mozapps/skin/extensions/extensionGeneric.png");
  max-width: 48px;
  max-height: 48px;
}

.addon[active="false"] .icon {
  filter: grayscale(1);
}

.addon-view[type="theme"] .icon {
  list-style-image: url("chrome://mozapps/skin/extensions/themeGeneric.png");
}

.addon-view[type="locale"] .icon {
  list-style-image: url("chrome://mozapps/skin/extensions/localeGeneric.png");
}

.addon-view[type="plugin"] .icon {
  list-style-image: url("chrome://mozapps/skin/plugins/pluginGeneric.png");
}

.addon-view[type="dictionary"] .icon {
  list-style-image: url("chrome://mozapps/skin/extensions/dictionaryGeneric.png");
}

.addon-view[type="experiment"] .icon {
  list-style-image: url("chrome://mozapps/skin/extensions/experimentGeneric.png");
}

.name-container {
  font-size: 150%;
  margin-bottom: 0;
  font-weight: bold;
  -moz-box-align: end;
  -moz-box-flex: 1;
}

.creator {
  font-weight: bold;
}

.addon-view[active="false"]:not([selected]) {
  color: GrayText;
}

.description-container {
  -moz-margin-start: 6px;
  -moz-box-align: center;
}

.description {
  margin: 0;
}

.warning,
.pending,
.error {
  -moz-margin-start: 48px;
  -moz-box-align: center;
}

.content-container,
.basicinfo-container {
  -moz-box-align: start;
}

.addon[status="installing"] > .content-container {
  -moz-box-align: stretch;
}

.advancedinfo-container,
.update-info-container {
  -moz-box-align: center;
}

.update-available {
  -moz-box-align: end;
}

.install-status-container {
  -moz-box-pack: end;
  -moz-box-align: end;
}

.name-outer-container {
  -moz-box-pack: center;
}

.relnotes-toggle-container,
.icon-outer-container {
  -moz-box-pack: start;
}

.status-container,
.control-container {
  -moz-box-pack: end;
}

.addon-view:not([selected]) .warning {
  color: #90792E;
}

.addon-view:not([selected]) .error {
  color: #7C322B;
}

.addon-view:not([selected]) .pending {
  color: #4F7939;
}

.addon[active="false"] {
  background-image: linear-gradient(rgba(135, 135, 135, 0.2),
                                    rgba(135, 135, 135, 0.1));
}

.addon-view[notification="warning"] {
  background-image: url("chrome://mozapps/skin/extensions/stripes-warning.png"),
                    linear-gradient(rgba(255, 255, 0, 0.04),
                                    rgba(255, 255, 0, 0));
  background-repeat: repeat-x;
}

.addon-view[notification="warning"][native="false"] {
  background-image: url("chrome://mozapps/skin/extensions/stripes-compatibility.png"),
                    linear-gradient(rgba(255, 128, 0, 0.04),
                                    rgba(255, 128, 0, 0));
  background-repeat: repeat-x;
}

.addon-view[notification="error"] {
  background-image: url("chrome://mozapps/skin/extensions/stripes-error.png"),
                    linear-gradient(rgba(255, 0, 0, 0.04),
                                    rgba(255, 0, 0, 0));
  background-repeat: repeat-x;
}

.addon-view[pending="enable"],
.addon-view[pending="upgrade"],
.addon-view[pending="install"] {
  background-image: url("chrome://mozapps/skin/extensions/stripes-info-positive.png"),
                    linear-gradient(rgba(0, 255, 0, 0.04),
                                    rgba(0, 255, 0, 0));
  background-repeat: repeat-x;
}

.addon-view[pending="disable"],
.addon-view[pending="uninstall"] {
  background-image: url("chrome://mozapps/skin/extensions/stripes-info-negative.png"),
                    linear-gradient(rgba(128, 128, 128, 0.04),
                                    rgba(128, 128, 128, 0));
  background-repeat: repeat-x;
}

.addon .relnotes-container {
  -moz-box-align: start;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-property: height, opacity;
  transition-duration: 0.5s, 0.5s;
}

.addon[show-relnotes] .relnotes-container {
  opacity: 1;
  transition-property: height, opacity;
  transition-duration: 0.5s, 0.5s;
}

.addon .relnotes-header {
  font-weight: bold;
  margin: 10px 0;
}

.addon .relnotes-toggle {
  -moz-appearance: none;
  border: none;
  background: transparent;
  font-weight: bold;
  cursor: pointer;
  list-style-image: url("moz-icon://stock/gtk-go-down?size=16");
}

.addon .relnotes-toggle > .button-box > .button-icon {
  display: -moz-box;
}

.addon[show-relnotes] .relnotes-toggle {
  list-style-image: url("moz-icon://stock/gtk-go-up?size=16");
}


/*** search view ***/

#search-filter {
  padding: 5px 20px;
  font-size: 120%;
  overflow-x: hidden;
  border-bottom: 1px solid ThreeDShadow;
}

#search-filter-label {
  font-weight: bold;
}

#search-allresults-link {
  margin-top: 1em;
  margin-bottom: 2em;
}

/*** detail view ***/

#detail-view[active="false"] .fade {
  opacity: 0.6;
}

#detail-view .loading {
  opacity: 0;
}

#detail-view[loading-extended] .loading {
  -moz-box-align: center;
  -moz-box-pack: center;
  opacity: 1;
  transition-property: opacity;
  transition-duration: 1s;
}

.detail-view-container {
  padding: 0 2em 2em 2em;
  font-size: 110%;
}

#detail-notifications {
  margin-top: 1em;
  margin-bottom: 2em;
}

#detail-notifications .warning,
#detail-notifications .pending,
#detail-notifications .error {
  -moz-margin-start: 0;
}

#detail-icon-container {
  width: 64px;
  -moz-margin-end: 10px;
}

#detail-icon {
  max-width: 64px;
  max-height: 64px;
}

#detail-summary {
  margin-bottom: 2em;
}

#detail-name-container {
  font-size: 200%;
}

#detail-screenshot {
  -moz-margin-end: 2em;
  max-width: 300px;
  max-height: 300px;
}

#detail-screenshot[loading] {
  background-image: url("chrome://global/skin/icons/loading_16.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border: 1px threedshadow solid;
  border-radius: 5px;
  box-sizing: border-box;
}

#detail-screenshot[loading="error"] {
  background-image: url("chrome://global/skin/media/error.png");
}

#detail-desc-container {
  margin-bottom: 2em;
}

#detail-desc, #detail-fulldesc {
  -moz-margin-start: 6px;
  /* This is necessary to fix layout issues with multi-line descriptions, see
     bug 592712*/
  outline: solid transparent;
  white-space: pre-wrap;
  min-width: 10em;
}

#detail-fulldesc {
  margin-top: 1em;
}

#detail-contributions {
  border-radius: 5px;
  border: 1px solid ThreeDShadow;
  margin-bottom: 2em;
  padding: 1em;
  background: ThreeDHighlight;
}

#detail-contrib-description {
  font-style: italic;
  margin-bottom: 1em;
}

#detail-contrib-suggested {
  color: GrayText;
}

#detail-grid {
  margin-bottom: 2em;
}

#detail-grid > columns > column:first-child {
  min-width: 15em;
  max-width: 25em;
}

.detail-row[first-row="true"],
.detail-row-complex[first-row="true"],
setting[first-row="true"] {
  border-top: none;
}

.detail-row,
.detail-row-complex,
setting {
  border-top: 1px solid ThreeDShadow;
  -moz-box-align: center;
  min-height: 32px;
}

#detail-controls {
  margin-bottom: 1em;
}

#detail-view[active="false"]:not([pending]):not([notification]) {
  background-image: linear-gradient(rgba(135, 135, 135, 0.1),
                                    rgba(135, 135, 135, 0));
}

setting[first-row="true"] {
  margin-top: 2em;
}

setting {
  -moz-box-align: start;
}

.preferences-alignment {
  min-height: 32px;
  -moz-box-align: center;
}

.preferences-description {
  font-size: 90.9%;
  color: graytext;
  margin-top: -2px;
  -moz-margin-start: 2em;
  white-space: pre-wrap;
}

.preferences-description:empty {
  display: none;
}

menulist { /* Fixes some styling inconsistencies */
  font-size: 100%;
  margin: 1px 5px 2px 5px;
}

colorpicker[type="button"] { /* Fixes some styling inconsistencies */
  height: 29px;
  margin: 1px 5px 2px 5px;
}

setting[type="radio"] > radiogroup {
  -moz-box-orient: horizontal;
}

/*** creator ***/

.creator > label {
  -moz-margin-start: 0;
  -moz-margin-end: 0;
}

.creator > .text-link {
  margin-top: 1px;
  margin-bottom: 1px;
}


/*** rating ***/

.meta-rating {
  -moz-margin-end: 0;
  vertical-align: text-top;
}

.meta-rating[showrating="average"] > .star {
  list-style-image: url("chrome://mozapps/skin/extensions/rating-not-won.png");
  padding: 0 1px;
}

.meta-rating[showrating="user"] > .star {
  list-style-image: url("chrome://mozapps/skin/extensions/rating-unrated.png");
  padding: 2px 3px;
}

.meta-rating > .star[on="true"],
.meta-rating[showrating="user"] > .star[hover] {
  list-style-image: url("chrome://mozapps/skin/extensions/rating-won.png");
  padding: 0 1px;
}


/*** download progress ***/

.download-progress {
  width: 200px;
}

.download-progress .start-cap,
.download-progress .end-cap {
  display: none;
}

.download-progress .progress {
  padding: 0;
  margin: 0;
  border: none;
}

.download-progress .cancel {
  -moz-appearance: none;
  background-color: ButtonFace;
  padding-bottom: 1px;
  -moz-padding-start: 2px;
  border-width: 1px;
  border-style: solid;
  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
  border-radius: 10000px;
  min-width: 16px;
  width: 16px;
  height: 16px;
  margin: 3px;
}

.download-progress .cancel:hover {
  background-color: -moz-ButtonHoverFace;
}

.download-progress .cancel {
  list-style-image: url('chrome://mozapps/skin/extensions/cancel.png');
}

.download-progress .status-container {
  -moz-box-align: center;
}


/*** install status ***/

.install-status {
  -moz-box-align: center;
}


/*** check for updates ***/

#updates-container {
  -moz-box-align: center;
}

#updates-installed,
#updates-downloaded {
  font-weight: bold;
}

#update-selected {
  margin: 12px;
}


/*** buttons ***/

.addon-control[disabled="true"]:not(.no-auto-hide) {
  display: none;
}

.no-auto-hide .addon-control {
  display: block !important;
}

.addon-control.enable {
  list-style-image: url("moz-icon://stock/gtk-yes?size=button");
}

.addon-control.disable {
  list-style-image: url("moz-icon://stock/gtk-no?size=button");
}

.addon-control.remove {
  list-style-image: url("moz-icon://stock/gtk-remove?size=button");
}

.addon-control.preferences {
  list-style-image: url("moz-icon://stock/gtk-preferences?size=button");
}

.addon-control.install,
.addon-control.update {
  list-style-image: url("moz-icon://stock/gtk-save?size=button");
}

.button-link {
  -moz-appearance: none;
  background: transparent;
  border: none;
  text-decoration: underline;
  color: -moz-nativehyperlinktext;
  cursor: pointer;
  min-width: 0;
  margin: 0 6px;
}

.button-link:active {
  color: -moz-activehyperlinktext;
}

.header-button .toolbarbutton-text {
  display: none;
}

/*** telemetry experiments ***/

#detail-experiment-container {
  font-size: 80%;
  margin-bottom: 1em;
}

#detail-experiment-bullet-container,
#detail-experiment-state,
#detail-experiment-time,
.experiment-bullet-container,
.experiment-state,
.experiment-time {
  vertical-align: middle;
  display: inline-block;
}

.addon .experiment-bullet,
#detail-experiment-bullet {
  fill: rgb(158, 158, 158);
}

.addon[active="true"] .experiment-bullet,
#detail-view[active="true"] #detail-experiment-bullet {
  fill: rgb(106, 201, 20);
}
